本篇重點:
- 什麼是RESTful API
- 什麼是API
- RESTful API 的 URL
- RESTful API 的狀態碼
- 總結
在正式進入.NET的世界前,有一些概念必須要先知道,這樣後續開發才不會都不懂
那我們今天要講的概念是:Restful API
前面幾天都在說明如何建立專案環境 & 連接資料庫,如果還沒有一個Vue & .NET的專案,或在架環境的過程中遇到什麼問題,記得往前看喔!
RESTful API 全名為「Representational State Transfer API」,是一種架構上的設計風格,用於建立Web網路服務,也因為它有一套完善的規範和原則,使得Web前後端之間的溝通變得更加簡單,除錯上也相對容易
API 是 Application Programming Interface(應用程式介面)的縮寫,主要用來建立前後端之間的橋樑。每當你在前端做了一個動作(如點擊按鈕),就會發送一個Request給API,而API會將這個Request傳給後端,等後端將資料(Response)回傳給API後,API再發送給前端
這是我自己畫的示意圖,通常後端傳回來的Response都是JSON格式:
RESTful API主要是用HTTP的方式做傳輸,比較常見是使用GET、POST、PUT、DELETE等操作,如果使用RESTful API的話,我們在定義API的URL就會變得相對簡單
舉個例子,現在我們有四隻做CRUD(增刪查改)的API,其URL分別為:
這樣的API URL雖然一目了然,知道各別的用途是什麼,但數量一多,可讀性就會變得很差
如果使用RESTful API,其URL就會變成:
可以看到,URL全都變成了/user,這樣我們就會根據它選擇的操作方式(GET、POST..等),去知道這隻API的用途是什麼,就不用花太多時間去找API
RESTful API也有使用標準的「HTTP狀態碼(HTTP Status Codes)」,來告訴你API的請求結果:
比較常見的狀態碼是200 OK
、404 Not Found
、500 Internal Server Error
,通常你看到5開頭就可以直接跟學長或廠商說:「後端爆掉拉!服務掛掉拉!我API串不上拉!」然後就可以稍微罷工休息一下,但如果你是做後端的,那就趕快修阿!
基於上述種種,RESTful API使用了「統一的HTTP方法和請求/回應格式」,使得不同API遵循相同的開發模式,讓開發人員容易理解與使用,所以現在的Web大多都使用RESTful API的設計風格來做開發
我們後續的.NET開發也是使用RESTful API當設計規範,因為這個概念很重要,所以這邊才會獨立一篇出來講
如果在概念上有任何問題,都歡迎在下方留言提出喔!